1
ハードウェアのボトルネック:メモリとリソース制限
AI032Lesson 5
00:00

現代の高性能コンピューティングは、根本的な "メモリウォール":計算処理能力(FLOPS)の急激な増加が、わずかな増加にとどまる グローバルメモリ 帯域幅をはるかに超えており、この乖離により巨大なマルチコア配列はデータ待ちの「飢えている」プロセッサになってしまう。

1. 帯域幅のギャップ

GPUは1秒間に数兆回の演算を行うことができる一方で、DRAMへの物理的経路はピン密度と電力要件によって制約されている。 メモリが並列性の制限要因となる スレッド数を増やすと、スレッドあたりの帯域幅が低下し、ハードウェアが待機状態になるスタールサイクルが発生する。

2. キッチンの比喩

最先端のキッチン(GPUコア)が1時間に1,000食を調理できると想像してほしい。しかし、材料は5マイル離れた倉庫(グローバルメモリ)にあり、配送用スクーター(メモリバス)は1台だけだ。どれだけシェフを雇っても、出力はスクーターの速度によって制限される。

3. アーキテクチャの対比

標準的な マルチコアCPUシステム 少数の重いスレッドの遅延を隠すために巨大なキャッシュを使用する。一方、大規模並列アーキテクチャは、同時に多数のリクエストが集中する常時「渋滞」に直面する。 リソース制限 レジスタおよび共有メモリレベルでのリソース制限は、ハードウェアが過負荷になる前に達成可能な最大並列度(オキュパンシー)を決定する。

算術強度(FLOPs/バイト)性能(GFLOPS)メモリ制限計算制限(ピーク)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>